package com.ins.model.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Table;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 用户钱包流水记录表 实体类。
 *
 * @author ins
 * @since 2024-05-14
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Table(value = "app_wallet_log")
public class AppWalletLog extends BaseEntity<AppWalletLog> implements Serializable {

    @Serial
    private static final long serialVersionUID = 7198358811827831521L;
    /**
     * 用户id
     */
    @Column(value = "user_id")
    private Long userId;

    /**
     * 流水号
     */
    @Column(value = "no")
    private String no;

    /**
     * 业务类型，1：充值，2：提现  3：下单
     */
    @Column(value = "target_type")
    private Integer targetType;

    /**
     * 来源uuid（如提现uuid）
     */
    @Column(value = "target_uuid")
    private String targetUuid;

    /**
     * 操作类型，1：充值，2：提现，3：订单
     */
    @Column(value = "action_type")
    private Integer actionType;

    /**
     * 变动的金额，正负数。
     */
    @Column(value = "fee")
    private BigDecimal fee;

    /**
     * 账户变更前的数据 json存储
     */
    @Column(value = "original_account_json")
    private String originalAccountJson;

    /**
     * 账户变更后的数据 json存储
     */
    @Column(value = "dispose_account_json")
    private String disposeAccountJson;

    /**
     * 处理状态1，处理完成，0未完成
     */
    @Column(value = "status")
    private Integer status;


}
